package springtest.pdf.wk;

import java.io.File;

public class HtmlToPdf {
    // wkhtmltopdf在系统中的路径
    private static final String toPdfTool = "D:\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";

    /**
     * html转pdf
     * 
     * @param srcPath
     *            html路径，可以是硬盘上的路径，也可以是网络路径
     * @param destPath
     *            pdf保存路径
     * @return 转换成功返回true
     * @throws Exception
     */
    public static void convert(String srcPath, String destPath) throws Exception {
        File file = new File(destPath);
        File parent = file.getParentFile();
        // 如果pdf保存路径不存在，则创建路径
        if (!parent.exists()) {
            parent.mkdirs();
        }
        StringBuilder cmd = new StringBuilder();
        cmd.append(toPdfTool);
        cmd.append(" ");
        cmd.append(" --header-line");// 页眉下面的线
        cmd.append(" --header-center 这里是页眉这里是页眉这里是页眉这里是页眉 ");// 页眉中间内容
        cmd.append(" --margin-top 3cm ");// 设置页面上边距 (default 10mm)
        cmd.append(" --header-spacing 5 ");// (设置页眉和内容的距离,默认0)
        cmd.append(" --footer-center (设置在中心位置的页脚内容)");// 设置在中心位置的页脚内容
        cmd.append(" --footer-line");// * 显示一条线在页脚内容上)
        cmd.append(" --footer-spacing 5 ");// (设置页脚和内容的距离)
        cmd.append(srcPath);
        cmd.append(" ");
        cmd.append(destPath);
        Process process = Runtime.getRuntime().exec(cmd.toString());
        process.waitFor();
        // CommandLine commandLine = new CommandLine(cmd.toString());
        // DefaultExecutor executor = new DefaultExecutor();
        // int exitValue = executor.execute(commandLine);
    }

    public static void main(String[] args) throws Exception {
        HtmlToPdf.convert("E:/00m2/test/test1.html", "d:/wkhtmltopdf.pdf");
        System.out.println(1);
    }
}
